A bar code reader typically uses a beam of light or imager to read a bar code, which consists of alternating strips ("bars") of differing reflectivities. The scanner then receives and interprets the fluctuations in the returning light that are caused by the bar code. It is known in the prior art to read bar codes by means of a hand-held wand which makes contact with the surface on which the bar code is printed. However, the need to make contact with the surface is frequently inconvenient and sometimes gives uninterpretable readings because the wand is not moved across the bar code with a sufficiently uniform velocity.
An alternative to a hand-held wand is a bar code scanner which does not require physical contact with the bar code which is to be read. While a hand-held wand and a bar code scanner both read bar codes with a beam of light, a bar code scanner typically produces a beam of light which is repetitively scanned across an area to an imager. It may also read a bar code with a charge-coupled device (CCD) scanner, one-dimensional or two-dimensional. In laser scanners, the beam of light can be produced by a laser source, such as a laser diode light source 30 in FIG. 29. If the beam of light from any type of scanner intercepts a bar code (or some other symbology), the modulated light which is reflected by the bar code is returned to sensing circuitry in the bar code scanner for interpretation. A record of the modulated light signal is called a bar code symbol reflectance profile. The strength of the modulated light signal is a function of the reflectances of the bars and spaces in the bar code, and the distance between the scanner and the bar code.
Nearly all scanners incorporate circuitry (the wave shaper) which converts the received signal into a digital pulse train, having a well controlled amplitude. The wave shaper picks a location on the received signal corresponding to a change of reflectance. The modified signal is analyzed on the basis of relative time. That is, the widths of the alternating areas of different reflectivity are measured on the basis of their relative scanning times. This allows the reader to be used with bar codes which have a wide variety of sizes, the important factor being that the relative widths of the elements of the bar codes be preserved. Accordingly, it is preferable that the light beam be scanned across the bar code at a substantially uniform rate in order to ease the task of interpreting the bar code.
The peaks and valleys in the symbol profile before shaping which is read by a scanner contain information regarding the relative positions and the relative intensity of the reflected light from the bars and spaces which make up the symbol. However, the information is corrupted because of the presence of noise or by a scanner operating beyond a range suitable for proper operation of the wave shaper circuitry. This noise may be especially destructive to the information contained in the narrow bars and spaces. However, the inventor has learned that fortunately the coding used in popular two-width machine readable symbologies contains a significant amount of redundancy, so that resolution of the wide bars and spaces is sufficient to allow the symbols to be decoded. Accordingly, the present invention allows a given bar code symbol to be read at distances significantly beyond the normal range of resolution of a given scanner and allows high-density symbols to be read by scanners not normally able to do so. At the same time, the method of the present invention does not depend upon complex mathematics and does not require knowledge about the scanner.